// pages/function/sub/list-search.js
const APP = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //固定参数
    dataEmptyImg: '/asset/img/empty/icon_list_empty.png',
    dataEmptyTip:'暂无数据',
    //布局参数
    layoutListBarHeight:0,
    fixedTopPxFilter:0,
    dataSvwPulldownState:false,
    //分页变量
    listContainerId: 'fwcontainer-id',
    dataPageList: [],
    dataPageNum: 0,
    dataPageTotal: 1,
    //逻辑变量
    dataKeywords:'',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let _this = this;
    //控制权限
    APP.appauth.setAuthSetting();
    //布局界面
    this.initLayout();
    //加载数据
    this.loadPageData();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      dataPageList: [],
      dataPageNum: 0,
      dataPageTotal: 1
    }, function () {
      this.loadPageData();
      wx.stopPullDownRefresh();
    });
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let _this = this;

    if (_this.data.dataPageNum < _this.data.dataPageTotal) {
      // 显示加载图标
      wx.showLoading({
        title: '加载中...',
      })
      _this.loadPageList(function () {
        wx.hideLoading();
      });
    } else {
      APP.apptool.showToastInfo('已经是最后一页了');
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  /**
   * 逻辑区域
   */

  //初始布局
  initLayout: function () {
    let _this = this;

    wx.getSystemInfo({
      success: function (res) {
        let winHeight = res.windowHeight;
        //增加线程
        setTimeout(() => {
          var query = wx.createSelectorQuery();
          query.select('#search-bar').boundingClientRect();
          query.exec(function (qres) {
            _this.setData({
              layoutListBarHeight: (winHeight - qres[0].height),
              fixedTopPxFilter:qres[0].height
            }) 
          });
        }, 500);
      },
    });
  },

  //加载页面数据
  loadPageData: function () {
    let _this = this;
    _this.loadPageList(null);
  },

  //加载列表
  loadPageList: function (completedcallback) {
    let _this = this;
    APP._post('/miniprogram/NavLayout/listSearch', {
      caPageIndex: _this.data.dataPageNum + 1,
      keyword:_this.data.dataKeywords,
    }, null, function (res) {
      //执行成功
      if (res.caCode === APP.appconfig.fwcode.successed) {
        let resData = res.caData;
        _this.setData({
          dataPageNum: _this.data.dataPageNum + 1,
          dataPageTotal: resData.caPageTotal,
          dataPageList: _this.data.dataPageList.concat(resData.caPageList)
        })
        APP.apptool.autoLoadMore(_this);
      } else {
        APP.apptool.showToastInfo(res.caMsg);
      }
    }, function (res) {
      //执行失败
    }, function (res) {
      //执行完成
      completedcallback && completedcallback();
    });
  },

  //空图显示占位图
  bindImageListError: function (eventhandle) {
    APP.apptool.bindImageListError(eventhandle, this);
  },

  //查看详情
  clickView: function(event){
    let _this = this,dataset = event.currentTarget.dataset;

    APP.apptool.showToastInfo('数据编号：'+dataset.id);
    // wx.navigateTo({
    //   url: '/pages/course/sub/list?tid='+dataset.id,
    // });
  },

  //查询
  doSearch:function(event){
    let _this = this;

    this.setData({
      dataKeywords:event.detail.value,
      dataPageList:[],
      dataPageNum:0,
      dataPageTotal:0
    },function(){
      _this.loadPageList(null);
    });
  },
  //滚动列表
  doPullDown:function(event){
    let _this = this;
    setTimeout(function(){
      _this.setData({
        dataSvwPulldownState:false
      });
    },2000);
  },
  //scroll-view滚动底部事件
  doReachBottom:function(event){
    this.onReachBottom();
  },
})